New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add association matrix learning rule (AML). #72
Conversation
FYI, static tests are failing due to |
It'd be nice to get this merge and a release. I am planning a tutorial on the learning rule during the summer school. |
I'll do this tomorrow 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test runs successfully for me, so looks good! I'll add the learning rule to the learning_rules.rst
file in the docs as part of the merge.
I did have a small issue with the test taking forever, but it turned out it was because of how the plt
fixture works when not actually doing plotting. The iteration over fig.axes
would never stop, so I changed it to explicitly iterating over a list of the three axes.
Maybe we also should fix the fixture? (But I'm fine with explicitly iterating over the axes here to have backwards compatibility.) |
Yeah, I'll make an issue for it in Nengo. |
nengo/nengo#1441 made, merging! |
Adds the association matrix learning rule (AML). This learning rule allows to learn associations from cue vectors to target vectors in a one-shot fashion without catastrophic forgetting. An implementation is provided for the reference simulator and Nengo OCL. As far as I can tell, Nengo OCL does not provide a possibility to register custom
plan_*
functions. Thus, the OCL implementation adds a newAmlSimulator
class inheritingnengo_ocl.Simulator
.I added a test. To run it with the OCL implemenation:
Demonstration:
More details on the learning rule will be in my forthcoming PhD thesis.